Q: 現在、Movie Import コンポーネントを記述しています。'mcfg ' リソースの用途を教えてください。
A: QuickTime Media Configuration の 'mcfg ' リソース (kQTMediaConfigResourceType ) は、QuickTime Importer Component によってサポートされているファイルタイプの特性をリストしたものです。このリソースは、QuickTime の MIME 設定のコントロールパネルで、ユーザインタフェースのビルドと設定を行うために使用されます(図 1 参照)。また、QuickTime プラグインでも、QuickTime プラグインが登録する MIME タイプのリストを作成したり、ファイルを開いて読み込む方法を解決する目的で使用されます。
図 1. QuickTime MIME 設定のコントロールパネル
|
QuickTime for Windows の将来のバージョンでは、'mcfg ' リソースは、Windows のファイルタイプ登録メカニズムとコントロールパネルで使用されます。
'mcfg ' リソース内に含まれる情報の一部は Importer Component のほかの部分でも利用できますが、そのすべてを利用できるわけではなく、またすべてを一箇所で利用できるわけではありません。その良い例は、グループ ID、プラグイン、アプリケーションフラグなどの情報です。
すべての Movie Importer コンポーネント('eat ')と Graphics Importer コンポーネント('grip ')には、必ずこのリソースが 1 つあります。例として、Movie Importer 用の 'mcfg ' リソースをリスト 1 に示します。
リスト 1Electric Image Movie Importer 用 'mcfg ' リソース
|
resource 'mcfg' (512)
{
kVersionDoesntMatter, // リソースの適用対象コンポーネントのバージョン
{
// このタイプが属しているグループの ID(OSType、
// kQTMediaConfigStreamGroupID など)
// このフラグにより、MIME 設定のコントロールパネルで
// この MIME タイプがリストされるグループが決定される
kQTMediaConfigVideoGroupID.
// MIME 設定グフラグ(符号なし long、1 つ以上の
// kQTMediaConfigCanUseApp、など)
kQTMediaConfigUseAppByDefault // デフォルトでは、QuickTime プラグイン
// の代わりに下に指定された
// アプリケーションと関連付ける
| kQTMediaConfigCanUseApp // このタイプを、アプリケーションと
// 関連付けることができる
| kQTMediaConfigCanUsePlugin // このタイプを、QuickTime プラグインと
// 結びつけることができる
| kQTMediaConfigBinaryFile, // ファイルはテキストではなく
// バイナリ
'EIDI', // 保存時の MacOS ファイルタイプ(OSType)
'TVOD', // 保存時の MacOS ファイルタイプクリエータ(OSType)
// QuickTime プラグインがこのタイプのファイルを開く
// コンポーネントを見つけるために使用するコンポーネント情報
'eat ', // コンポーネントタイプ(OSType)
'EIDI', // コンポーネントサブタイプ(OSType)
'vide', // コンポーネントのメーカー (OSType)
kEI_MovieImportFlags, // コンポーネントフラグ
0, // フラグマスク
'EIM ', // デフォルトのファイル拡張子(OSType)。必ず大文字にする
// これは、大文字/小文字を区別せずに
// 拡張子 ".eim" と一致する。
kQTMediaInfoNetGroup, // QuickTime ファイルタイプグループ
// (OSType、kQTMediaInfoNetGroup の 1 つなど)
// メディアタイプのシノニム、0 またはそれ以上の
// Pascal 文字列の配列 - ここではなし
{
},
{
"Electric Image file", // MIME 設定パネルとブラウザ用の
// メディアタイプの記述
"eim", // ファイル拡張子、複数の場合は
// カンマで区切る
"QuickTime Player", // MIME 設定パネルおよびブラウザ用の
// 開始時のアプリケーション名
"Electric Image Movie Importer", // 検出できないソフトウェア
// のダイアログ用の検出でき
// ないソフトウェアの記述
"Version 1.3", // ベンダー情報文字列
// (著作権、バージョン、など)
},
// このメディアタイプを記述する 1 つ以上の MIME タイプの
// 配列(たとえば、audio/mpeg、audio/x-mpeg、など)
{
"video/electric-image",
"video/x-electric-image",
},
}
};
|
kQTMediaConfigCanUseApp フラグと kQTMediaConfigCanUsePlugin フラグのどちらかまたは両方が設定されている場合は、MIME 設定のコントロールパネルには MIME タイプが自動的に表示され、ユーザは必要に応じて、QuickTime でのファイルの処理方法を選ぶことができます。
kQTMediaConfigUsePluginByDefault フラグが設定されている場合、QuickTime は、両方のプラットフォーム上のすべてのブラウザの QuickTime プラグイン用に MIME タイプを自動的に登録します。
'mcfg ' リソースを Importer コンポーネントに追加するときには、必ずこのリソースを(リスト 2 に示すような)コンポーネントの共有リソースリストに追加してください。
リスト 2 Electric Image Movie Importer の 'thnr ' リソース
|
// コンポーネントの共有リソース
resource 'thnr' (512) {
{
'mime', 1, 0,
'mime', 512, 0,
'mcfg', 1, 0,
'mcfg', 512, 0
}
};
|
参考文献
[2003 年 5 月 12 日]
|